﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CottagesOfHope.Core.Models
{
    public class UserProfile
    {
        [Key]
        public int UserId { get; set;}
        [Required]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string FirstName { get; set;}
        [Required]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string LastName { get; set;}
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string MiddleName { get; set;}
        [Required]
        [DataType(DataType.Date)]
        public DateTime BirthDate{ get; set; }
        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string Address { get; set;}
        [StringLength(20, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string Apartment { get; set; }
        [Required]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string City { get; set; }
        [Required]
        [StringLength(2, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string State { get; set; }
        [Required]
        [StringLength(10, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string Zip { get; set; }
        [Required]
        [StringLength(15, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        [DataType(DataType.PhoneNumber)]
        public string MobilePhone { get; set; }
        [StringLength(15, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        [DataType(DataType.PhoneNumber)]
        public string WorkPhone { get; set; }
        [Required]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        [DataType(DataType.EmailAddress)]
        public string Email { get; set;}
        //[Required]
        //[StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        //[DataType(DataType.Password)]
        //public string Password { get; set; }
        ////[Required]
        ////public int NumberOfChildren { get; set; }
        ////[Required]
        ////public int NumberOfSmokers { get; set; }
        ////[Required]
        ////public int Income { get; set; }
        ////[Required]
        ////public bool Married { get; set; }
        ////[Required]
        ////public DateTime DateOfBirth { get; set; }
        ////[Required]
        ////[StringLength(30, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        ////public string Ethnicity { get; set; }
        ////[Required]
        ////[StringLength(30, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        ////public string PrimaryLanguage { get; set; }
        ////[Required]
        ////[StringLength(30, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        ////public string SecondaryLanguage { get; set; }
        ////[Required]
        ////public bool Citizen { get; set; }
        ////public bool ResidentAlien { get; set; }
        ////public bool Veteran { get; set; }

    }
}
